unit Sound;

interface

uses
  BaseTypes;

type
  TSound = class(TInterfacedObject, ISound)
  strict private
    class var FInstance: TSound;
    constructor Create;
  public
    class function GetInstance: TSound;
  end;

implementation

constructor TSound.Create;
begin
  inherited;
end;

class function TSound.GetInstance: TSound;
begin
  If FInstance = nil Then
  begin
    FInstance := Sound.TSound.Create();
  end;
  Result := FInstance;
end;

end.
